package com.generator.util;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;


public class DBUtil {
	
	private static String username;//数据库登陆账号
	private static String password;//数据库登陆密码
	private static String url;//数据库 url 及端口
	private static String driver;//驱动类
	
	//通常情况下把数据密码放置 项目配置文件中 , 相对于放入类中，更安全一些。
	static {	//静态初始化块
		//创建获取配置文件对象。
		Properties properties = new Properties();
		try {
			//利用反射获取对应的字段
			InputStream in = DBUtil.class.getClassLoader()
					.getResourceAsStream("jdbc.properties");//获取创建好的配置文件名
			properties.load(in);
			username = properties.getProperty("username");
			password = properties.getProperty("password");
			url = properties.getProperty("jdbcUrl");
			driver = properties.getProperty("driverClasss");
			//加载驱动类
			Class.forName(driver);
		} catch (IOException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}

	private DBUtil(){
		
	}

	private static Connection con = null;

	//创建数据库连接对象
	public static Connection getConnection() {
		if(con == null){
			try {
				con = DriverManager.getConnection(url, username, password);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		return con;
	}
}
